/*
 * 文件名：CTLSocketStartThread.java
 * 版权：亚信联创版权所有
 * 描述：TODO
 * 修改人：yuanze
 * 修改时间：2014年11月14日
 * 修改内容：TODO
 */
package com.ailk.bigdata.etl.realstream.server.protocal.aipr.service.impl;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.ailk.bigdata.etl.realstream.server.protocal.aipr.netty.handler.RealStreamCTLHandler;
import com.ailk.bigdata.etl.realstream.server.protocal.aipr.netty.handler.RealStreamHeartHandler;
import com.ailk.bigdata.etl.realstream.server.protocal.aipr.netty.server.StreamCTLSocketServer;
import com.ailk.bigdata.etl.realstream.server.tools.RealStreamTool;

/**
 * @description 实时流命令端口启动线程
 * @author [yuanze]
 * @version [版本号,2014年11月14日]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public class CTLSocketListenThread extends Thread
{
	private static final Logger logger = LoggerFactory.getLogger(CTLSocketListenThread.class);

	/**
	 * @see java.lang.Runnable#run()
	 */
	@Override
	public void run()
	{
		try
		{
			logger.info("启动实时流 命令端口监听........");
			new StreamCTLSocketServer(RealStreamTool.ctlCmdPort).run(new RealStreamHeartHandler(), new RealStreamCTLHandler());
		}
		catch (Exception e)
		{
			logger.error("realstream 命令端口启动监听失败", e);
			// 如果端口监听失败，则直接退出进程
			System.exit(0);
		}
	}
}
